package com.yuanss.backenddemo.dao;

import com.yuanss.backenddemo.entity.po.SysRoleMenu;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * (SysRoleMenu)表数据库访问层
 *
 * @author 菜到不敢run
 * @since 2024-06-15 22:39:38
 */
public interface SysRoleMenuDao {
    /**
     * 新增数据
     *
     * @param sysRoleMenu 实例对象
     * @return 影响行数
     */
    int insert(SysRoleMenu sysRoleMenu);

    /**
     * 批量新增数据（MyBatis原生foreach方法）
     *
     * @param entities List<SysRoleMenu> 实例对象列表
     * @return 影响行数
     */
    int insertBatch(@Param("entities") List<SysRoleMenu> entities);

    /**
     * 通过主键删除数据
     *
     * @param roleId 主键
     * @return 影响行数
     */
    int deleteById(Long roleId);

    /**
     * 根据角色id查询菜单id
     * @param roleId     角色id
     * @return  菜单id集合
     */
    List<Long> queryMenuIdByRoleId(Long roleId);

    /**
     * 根据角色id集合查询菜单id集合
     * @param roleIds    角色id集合
     * @return  菜单id集合
     */
    List<Long> queryMenuIdByRoleIds(@Param("roleIds") List<Long> roleIds);
}

